package com.wicket.okrframework.base.service;

import com.wicket.okrframework.base.service.dto.req.*;
import com.wicket.okrframework.dal.po.mbg.InductionRecord;

import java.util.List;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
public interface MInductionRecordService {
    /**
   * 1-3-13批量查询就职记录列表
   */
    List<InductionRecord> batchQueryInductionRecordList(BatchQueryInductionRecordListReq reqDto);

    /**
   * 1-3-13查询就职记录列表
   */
    List<InductionRecord> queryInductionRecordList(QueryInductionRecordListReq reqDto);

    /**
   * 1-3-13查询就职记录详情
   */
    InductionRecord queryinductionRecordDetail(QueryinductionRecordDetailReq reqDto);

    /**
   * 1-3-13新增就职记录
   */
    String addInductionRecord(InductionRecord inductionRecord);

    /**
   * 1-3-13批量修改就职记录
   */
    boolean batchUpdateInductionRecord(List<InductionRecord> inductionRecord);

    /**
   * 1-3-13批量查询就职记录列表By身份ID
   */
    List<InductionRecord> batchQueryInductionRecordListByIds(BatchQueryInductionRecordListByIdsReq reqDto);

    /**
   * 1-3-13批量增就职记录
   */
    boolean batchAddInductionRecord(List<InductionRecord> inductionRecord);

    /**
   * 1-3-13批量查就职记录By角色编码
   */
    List<InductionRecord> batchQueryInductionRecordByRoleCode(BatchQueryInductionRecordByRoleCodeReq reqDto);

    /**
   * 1-3-13批量查就职记录By部门职务ID
   */
    List<InductionRecord> batchQueryInductionRecordByDeptPositionId(BatchQueryInductionRecordByDeptPositionIdReq reqDto);

    /**
   * 1-3-13批量查就职记录By职务ID
   */
    List<InductionRecord> batchQueryInductionRecordByPositionId(BatchQueryInductionRecordByPositionIdReq reqDto);

    /**
   * 1-3-13批量查询就职记录By编制ID
   */
    List<InductionRecord> batchQueryInductionRecordByStaffingID(BatchQueryInductionRecordByStaffingIDReq reqDto);

    /**
   * 1-3-13批量删除就职记录
   */
    boolean batchDeleteInductionRecord(List<String> reqDto);

    /**
   * 1-3-13批量查询员工就职记录列表（边界）
   */
    List<InductionRecord> batchQueryStaffInductionRecord(BatchQueryStaffInductionRecordReq reqDto);

    /**
   * 1-3-13批量查非直属就职记录
   */
    List<InductionRecord> batchQueryUndoDirectInductionRecord(BatchQueryUndoDirectInductionRecordReq reqDto);

    /**
   * 1-3-13删除就职记录
   */
    boolean deleteInductionRecord(String inductionRecordId );

    /**
   * 1-3-13修改就职记录
   */
    boolean updateInductionRecord(InductionRecord inductionRecord);

    /**
   * 1-3-13批量查询就职记录列表ByUserId
   */
    List<InductionRecord> batchQueryInductionRecordListByUserId(BatchQueryInductionRecordListByUserIdReq reqDto);

    /**
   * 1-3-13批量查部门匹配就职记录
   */
    List<InductionRecord> batchQueryDeptMatchInduction(BatchQueryDeptMatchInductionReq reqDto);

    /**
   * 1-3-13批量查询直属就职记录
   */
    List<InductionRecord> batchQueryDirectInductionRecord(BatchQueryDirectInductionRecordReq reqDto);
/**
   * M1-3-13查询单条就职记录详情
   */
    InductionRecord querySingleInductionRecordIdDetail(QuerySingleInductionRecordIdDetailReq reqDto);
/**
   * M1批量查询就职记录测试
   */
    List<InductionRecord> batchQueryInductionRecordTestData(BatchQueryInductionRecordTestDataReq reqDto);
/**
   * M1批量删就职记录测试
   */
    boolean batchDeleteInductionRecordTestData(List<String> reqDto);
/**
   * 1-3-13批量查询平台就职记录(公共)
   */
    List<InductionRecord> batchQueryPlatformInductionRecordCom(BatchQueryPlatformInductionRecordComReq reqDto);
/**
   * 1-3-14批量查询身份人员就职记录
   */
    List<InductionRecord> batchQueryOriginalRoleMemberInductionRecord(BatchQueryOriginalRoleMemberInductionRecordReq reqDto);
/**
   * 1-3-13批量查询就职记录by部门ID
   */
    List<InductionRecord> batchQueryInductionRecordByDeptId(BatchQueryInductionRecordByDeptIdReq reqDto);
/**
   * 1-3-13查询就职记录就职时间排序列表
   */
    List<InductionRecord> queryInductionRecordStartTimeOrderList(QueryInductionRecordStartTimeOrderListReq reqDto);
/**
   * 1-3-13批量查询就职的部门
   */
    List<InductionRecord> batchQueryInductionDept(BatchQueryInductionDeptReq reqDto);
/**
   * 1-3-13批量查询就职记录快照
   */
    List<InductionRecord> batchQueryInductionRecordSnap(BatchQueryInductionRecordSnapReq reqDto);
/**
   * 1-3-13执行批量部门查就职记录
   */
    List<InductionRecord> implementDeptInduction(ImplementDeptInductionReq reqDto);
/**
   * 1-3-13查询我下属就职记录列表
   */
    List<InductionRecord> querySubordinateInductionRecordList(QuerySubordinateInductionRecordListReq reqDto);
/**
   * 1-3-13查询就职的部门列表
   */
    List<InductionRecord> queryInductionDeptList(QueryInductionDeptListReq reqDto);
/**
   * 1-3-13批量查询我下属就职记录
   */
    List<InductionRecord> batchQuerySubordinateInductionRecord(BatchQuerySubordinateInductionRecordReq reqDto);
    //
}
